/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.date.DateUtil
 *  cn.hutool.core.util.ObjectUtil
 *  cn.hutool.core.util.StrUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.beans.value.ChangeListener
 *  javafx.beans.value.ObservableValue
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.CheckBox
 *  javafx.scene.control.ChoiceBox
 *  javafx.scene.control.DatePicker
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.VBox
 *  javafx.stage.Modality
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.springframework.beans.factory.annotation.Autowired
 *  org.springframework.util.CollectionUtils
 */
package com.gys.controller.cashPayment;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.gys.GysApplication;
import com.gys.common.business.BankInfoUtil;
import com.gys.common.business.CashPaymentUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.CommonUtil;
import com.gys.controller.BaseController;
import com.gys.controller.cashPayment.AddCashPaymentController;
import com.gys.controller.index.IndexController;
import com.gys.data.cashPayment.CashPaymentDetailOutData;
import com.gys.data.cashPayment.CashPaymentInData;
import com.gys.data.cashPayment.CashPaymentOutData;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.example.GetUserOutData;
import com.gys.data.medCheck.GsmchStatus;
import com.gys.data.payingBank.BankInfoInData;
import com.gys.data.saleScheduleSetting.GetSaleScheduleOutData;
import com.gys.data.saleScheduleSetting.GetSaleScheduleQueryInData;
import com.gys.data.user.GetEmpOutData;
import com.gys.data.user.GetLoginOutData;
import com.gys.view.cashPayment.AddCashPaymentView;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;

@FXMLController
public class CashPaymentController
extends BaseController
implements Initializable {
    @FXML
    private Button queryBtn;
    @FXML
    private VBox vBox;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> gsddRmbAmt;
    @FXML
    private ChoiceBox<GetEmpOutData> emp;
    @FXML
    private TextField depositAmt;
    @FXML
    private ChoiceBox<GetSaleScheduleOutData> empGroup;
    @FXML
    private Button addBtn;
    @FXML
    private DatePicker depositDate;
    @FXML
    private TextField voucherId;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhDepositId;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhBrId;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhCheckDate;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> gsddBrId;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhBankAccount;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> gsddVoucherId;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhDepositAmt;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private TableView<CashPaymentOutData> sortInfo;
    @FXML
    private TableColumn<CashPaymentOutData, String> index;
    @FXML
    private TableView<CashPaymentDetailOutData> detailInfo;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> indexDetail;
    @FXML
    private DatePicker checkDate;
    @FXML
    private ChoiceBox<String> bankId;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> gsddEmp;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhBankId;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> gsddEmpGroup;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhDepositDate;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhStatus;
    @FXML
    private TableColumn<CashPaymentOutData, CheckBox> checkBox;
    @FXML
    private TableColumn<CashPaymentOutData, String> gsdhVoucherId;
    @FXML
    private TableColumn<CashPaymentDetailOutData, String> gsddSaleDate;
    @FXML
    private ChoiceBox<GsmchStatus> status;
    @Autowired
    private AddCashPaymentController addCashPaymentController;
    @Autowired
    private IndexController indexController;
    List<GetSaleScheduleOutData> empGroupList = new ArrayList<GetSaleScheduleOutData>();
    List<GetEmpOutData> empList = new ArrayList<GetEmpOutData>();
    private ObservableList<CashPaymentOutData> cashPaymentList = FXCollections.observableArrayList(new ArrayList());
    private ObservableList<CashPaymentDetailOutData> cashPaymentDetailList = FXCollections.observableArrayList(new ArrayList());

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        this.sortInfo.setPrefWidth(this.getContentWidth());
        this.detailInfo.setPrefWidth(this.getContentWidth());
        StringConverter converter = CommonUtil.dataPickerFormat("yyyyMMdd");
        this.depositDate.setConverter(converter);
        this.checkDate.setConverter(converter);
        GetSaleScheduleQueryInData inData = new GetSaleScheduleQueryInData();
        HttpJson rsp = CashPaymentUtil.empGroupList(inData);
        if (rsp.isSuccess()) {
            this.empGroupList = JSON.parseArray((String)rsp.getMsg(), GetSaleScheduleOutData.class);
            this.empGroup.getItems().addAll(this.empGroupList);
            this.empGroup.converterProperty().set(new StringConverter<GetSaleScheduleOutData>(){

                public String toString(GetSaleScheduleOutData object) {
                    return object.getGsegName();
                }

                public GetSaleScheduleOutData fromString(String string) {
                    return null;
                }
            });
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
        }
        GetLoginOutData inData2 = new GetLoginOutData();
        HttpJson rsp2 = CashPaymentUtil.empList(inData2);
        if (rsp2.isSuccess()) {
            this.empList = JSON.parseArray((String)rsp2.getMsg(), GetEmpOutData.class);
            this.emp.getItems().addAll(this.empList);
            this.emp.converterProperty().set(new StringConverter<GetEmpOutData>(){

                public String toString(GetEmpOutData object) {
                    return object.getName();
                }

                public GetEmpOutData fromString(String string) {
                    return null;
                }
            });
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp2.getMsg());
            alert.showAndWait();
        }
        this.status.getItems().addAll(this.getAllStatus());
        this.status.converterProperty().set(new StringConverter<GsmchStatus>(){

            public String toString(GsmchStatus object) {
                return object.getName();
            }

            public GsmchStatus fromString(String string) {
                return null;
            }
        });
        BankInfoInData bankInfoInData = new BankInfoInData();
        HttpJson rsp3 = BankInfoUtil.getBankNames(bankInfoInData);
        if (rsp3.isSuccess()) {
            List bankList = JSON.parseArray((String)rsp3.getMsg(), String.class);
            this.bankId.getItems().addAll((Collection)bankList);
            this.bankId.converterProperty().set(new StringConverter<String>(){

                public String toString(String object) {
                    return object.toString();
                }

                public String fromString(String string) {
                    return null;
                }
            });
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp3.getMsg());
            alert.showAndWait();
        }
        this.empGroup.valueProperty().addListener(new ChangeListener(){

            public void changed(ObservableValue observable, Object oldValue, Object newValue) {
                String emp5;
                String emp4;
                String emp3;
                String emp2;
                if (ObjectUtil.isNull(CashPaymentController.this.empGroup.getValue())) {
                    return;
                }
                String value = ((GetSaleScheduleOutData)CashPaymentController.this.empGroup.getValue()).getGsegName();
                ArrayList<GetEmpOutData> empOutList = new ArrayList<GetEmpOutData>();
                String emp1 = ((GetSaleScheduleOutData)CashPaymentController.this.empGroup.getValue()).getGsegEmp1();
                if (StrUtil.isNotBlank((CharSequence)emp1)) {
                    GetEmpOutData outData = new GetEmpOutData();
                    outData.setName(emp1);
                    empOutList.add(outData);
                }
                if (StrUtil.isNotBlank((CharSequence)(emp2 = ((GetSaleScheduleOutData)CashPaymentController.this.empGroup.getValue()).getGsegEmp2()))) {
                    GetEmpOutData outData = new GetEmpOutData();
                    outData.setName(emp2);
                    empOutList.add(outData);
                }
                if (StrUtil.isNotBlank((CharSequence)(emp3 = ((GetSaleScheduleOutData)CashPaymentController.this.empGroup.getValue()).getGsegEmp3()))) {
                    GetEmpOutData outData = new GetEmpOutData();
                    outData.setName(emp3);
                    empOutList.add(outData);
                }
                if (StrUtil.isNotBlank((CharSequence)(emp4 = ((GetSaleScheduleOutData)CashPaymentController.this.empGroup.getValue()).getGsegEmp4()))) {
                    GetEmpOutData outData = new GetEmpOutData();
                    outData.setName(emp4);
                    empOutList.add(outData);
                }
                if (StrUtil.isNotBlank((CharSequence)(emp5 = ((GetSaleScheduleOutData)CashPaymentController.this.empGroup.getValue()).getGsegEmp5()))) {
                    GetEmpOutData outData = new GetEmpOutData();
                    outData.setName(emp5);
                    empOutList.add(outData);
                }
                CashPaymentController.this.empList.clear();
                CashPaymentController.this.empList.addAll(empOutList);
                CashPaymentController.this.emp.getItems().clear();
                CashPaymentController.this.emp.getItems().addAll(CashPaymentController.this.empList);
            }
        });
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.scrollPane)) {
            return;
        }
        this.indexController.scrollContentPane.setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

            public void handle(KeyEvent e) {
                if (e.getCode() == KeyCode.ENTER) {
                    CashPaymentController.this.queryAction();
                } else if (e.getCode() == KeyCode.F1) {
                    CashPaymentController.this.addAction();
                } else if (e.getCode() == KeyCode.F8) {
                    CashPaymentController.this.auditAction();
                }
                e.consume();
            }
        });
        this.bingTableCell();
        this.initTable();
    }

    @FXML
    void addAction() {
        this.addCashPaymentController.init();
        GysApplication.showView(AddCashPaymentView.class, (Modality)Modality.APPLICATION_MODAL);
    }

    @FXML
    void queryAction() {
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        if (StrUtil.isBlank((CharSequence)this.voucherId.getText().trim()) && StrUtil.isBlank((CharSequence)this.depositAmt.getText().trim()) && ObjectUtil.isNull(this.bankId.getValue()) && ObjectUtil.isNull(this.depositDate.getValue()) && ObjectUtil.isNull(this.empGroup.getValue()) && ObjectUtil.isNull(this.emp.getValue()) && ObjectUtil.isNull(this.status.getValue()) && ObjectUtil.isNull(this.checkDate.getValue())) {
            alert.setContentText("\u5fc5\u987b\u81f3\u5c11\u586b\u5199\u4e00\u9879\u5185\u5bb9\u8fdb\u884c\u67e5\u8be2\uff01");
            alert.showAndWait();
            return;
        }
        this.cashPaymentDetailList.clear();
        this.initTable();
    }

    @FXML
    void auditAction() {
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        List<Integer> indexList = this.getSelectIndex();
        if (ObjectUtil.isEmpty(indexList)) {
            alert.setContentText("\u8bf7\u9009\u62e9\u8bb0\u5f55");
            alert.showAndWait();
            return;
        }
        String gsishVoucherId = ((CashPaymentOutData)this.cashPaymentList.get(indexList.get(0) - 1)).getGsdhVoucherId();
        CashPaymentOutData inData = new CashPaymentOutData();
        inData.setClientId(((GetUserOutData)CacheUtil.get("logInUser")).getClient());
        inData.setGsdhVoucherId(gsishVoucherId);
        HttpJson rsp = CashPaymentUtil.approve(inData);
        if (rsp.isSuccess()) {
            ((CashPaymentOutData)this.cashPaymentList.get(indexList.get(0) - 1)).setGsdhStatus("\u5df2\u5ba1\u6838");
            this.sortInfo.refresh();
            alert.setContentText("\u5ba1\u6838\u6210\u529f!");
            alert.showAndWait();
        } else {
            alert.setContentText(rsp.getMsg());
            alert.showAndWait();
        }
        this.initTable();
    }

    public TableView<CashPaymentOutData> initTable() {
        CashPaymentInData inData = new CashPaymentInData();
        inData.setClientId(((GetUserOutData)CacheUtil.get("logInUser")).getClient());
        inData.setGsdhBrId(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        if (ObjectUtil.isNotEmpty(this.voucherId.getText().trim())) {
            inData.setGsdhVoucherId(this.voucherId.getText().trim());
        }
        if (ObjectUtil.isNotEmpty(this.depositAmt.getText().trim())) {
            inData.setGsdhDepositAmt(this.depositAmt.getText().trim());
        }
        if (ObjectUtil.isNotEmpty(this.bankId.getValue())) {
            StringBuffer sb = new StringBuffer();
            BankInfoInData bankInfoInData = new BankInfoInData();
            bankInfoInData.setGsbsBankName(((String)this.bankId.getValue()).trim());
            HttpJson rsp = BankInfoUtil.getAllBankIdByName(bankInfoInData);
            if (rsp.isSuccess()) {
                List<String> bankAccountList = JSON.parseArray((String)rsp.getMsg(), String.class);
                if (bankAccountList.size() > 0) {
                    for (String account : bankAccountList) {
                        sb.append(account).append(",");
                    }
                }
            } else {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
                alert.showAndWait();
            }
            inData.setGsdhBankId(sb.toString().substring(0, sb.toString().length() - 1));
        }
        if (ObjectUtil.isNotEmpty(this.depositDate.getValue())) {
            inData.setGsdhDepositDate(DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.depositDate.getValue()).toString()), (String)"yyyyMMdd"));
        }
        if (ObjectUtil.isNotEmpty(this.status.getValue())) {
            inData.setGsdhStatus(((GsmchStatus)this.status.getValue()).getCode());
        }
        if (ObjectUtil.isNotEmpty(this.checkDate.getValue())) {
            inData.setGsdhCheckDate(DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.checkDate.getValue()).toString()), (String)"yyyyMMdd"));
        }
        List<CashPaymentOutData> dataList = null;
        HttpJson rsp = CashPaymentUtil.cashPaymentList(inData);
        if (rsp.isSuccess()) {
            dataList = JSON.parseArray((String)rsp.getMsg(), CashPaymentOutData.class);
            for (CashPaymentOutData outData : dataList) {
                if ("1".equals(outData.getGsdhStatus())) {
                    outData.setGsdhStatus("\u5df2\u5ba1\u6838");
                    continue;
                }
                outData.setGsdhStatus("\u672a\u5ba1\u6838");
            }
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
            return new TableView();
        }
        this.cashPaymentList.clear();
        this.cashPaymentList = FXCollections.observableArrayList((Collection)dataList);
        this.bingTableCell();
        this.sortInfo.setItems(this.cashPaymentList);
        return this.sortInfo;
    }

    private void bingTableCell() {
        this.index.setCellValueFactory((Callback)new PropertyValueFactory(this.index.getId()));
        this.checkBox.setCellValueFactory(cellData -> ((CashPaymentOutData)cellData.getValue()).getCheckBox().getCustomCheckBox());
        this.checkBox.setCellFactory(col -> {
            TableCell<CashPaymentOutData, CheckBox> cell = new TableCell<CashPaymentOutData, CheckBox>(){

                protected void updateItem(CheckBox item, boolean empty) {
                    super.updateItem(item, empty);
                    this.setGraphic((Node)item);
                    if (item != null) {
                        item.setOnMouseClicked(col -> {
                            if (CollectionUtils.isEmpty((Collection)CashPaymentController.this.cashPaymentList)) {
                                return;
                            }
                            int index = this.getIndex();
                            for (int i = 0; i < CashPaymentController.this.cashPaymentList.size(); ++i) {
                                if (i == index) continue;
                                ((CashPaymentOutData)CashPaymentController.this.cashPaymentList.get(i)).getCheckBox().setSelectStatus(false);
                            }
                            CashPaymentController.this.cashPaymentDetailList.clear();
                            CashPaymentController.this.showDetail(index);
                        });
                    }
                }
            };
            return cell;
        });
        this.gsdhVoucherId.setCellValueFactory((Callback)new PropertyValueFactory("gsdhVoucherId"));
        this.gsdhBrId.setCellValueFactory((Callback)new PropertyValueFactory("gsdhBrId"));
        this.gsdhCheckDate.setCellValueFactory((Callback)new PropertyValueFactory("gsdhCheckDate"));
        this.gsdhDepositId.setCellValueFactory((Callback)new PropertyValueFactory("gsdhDepositId"));
        this.gsdhBankId.setCellValueFactory((Callback)new PropertyValueFactory("gsdhBankId"));
        this.gsdhBankAccount.setCellValueFactory((Callback)new PropertyValueFactory("gsdhBankAccount"));
        this.gsdhDepositDate.setCellValueFactory((Callback)new PropertyValueFactory("gsdhDepositDate"));
        this.gsdhDepositAmt.setCellValueFactory((Callback)new PropertyValueFactory("gsdhDepositAmt"));
        this.gsdhStatus.setCellValueFactory((Callback)new PropertyValueFactory("gsdhStatus"));
        this.sortInfo.getSelectionModel().selectedItemProperty().addListener((ChangeListener)new ChangeListener<CashPaymentOutData>(){

            public void changed(ObservableValue<? extends CashPaymentOutData> observable, CashPaymentOutData oldValue, CashPaymentOutData newValue) {
                if (CollectionUtils.isEmpty((Collection)CashPaymentController.this.cashPaymentList)) {
                    return;
                }
                for (int i = 0; i < CashPaymentController.this.cashPaymentList.size(); ++i) {
                    if (i == newValue.getIndex() - 1) {
                        ((CashPaymentOutData)CashPaymentController.this.cashPaymentList.get(i)).getCheckBox().setSelectStatus(true);
                        continue;
                    }
                    ((CashPaymentOutData)CashPaymentController.this.cashPaymentList.get(i)).getCheckBox().setSelectStatus(false);
                }
                CashPaymentController.this.showDetail(newValue.getIndex() - 1);
            }
        });
    }

    private void showDetail(int index) {
        if (((CashPaymentOutData)this.cashPaymentList.get(index)).getCheckBox().isSelected().booleanValue()) {
            CashPaymentOutData inData = new CashPaymentOutData();
            inData.setClientId(((CashPaymentOutData)this.cashPaymentList.get(index)).getClientId());
            inData.setGsdhBrId(((CashPaymentOutData)this.cashPaymentList.get(index)).getGsdhBrId());
            inData.setGsdhVoucherId(((CashPaymentOutData)this.cashPaymentList.get(index)).getGsdhVoucherId());
            List dataList = null;
            HttpJson rsp = CashPaymentUtil.cashPaymentDetailList(inData);
            if (rsp.isSuccess()) {
                dataList = JSON.parseArray((String)rsp.getMsg(), CashPaymentDetailOutData.class);
            } else {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
                alert.showAndWait();
            }
            this.initDetailTableView(dataList);
        }
    }

    private TableView<CashPaymentDetailOutData> initDetailTableView(List<CashPaymentDetailOutData> dataList) {
        this.cashPaymentDetailList.clear();
        this.cashPaymentDetailList = FXCollections.observableArrayList(dataList);
        this.bingDetailTableCell();
        this.detailInfo.setItems(this.cashPaymentDetailList);
        return this.detailInfo;
    }

    private void bingDetailTableCell() {
        this.indexDetail.setCellValueFactory((Callback)new PropertyValueFactory(this.indexDetail.getId()));
        this.gsddVoucherId.setCellValueFactory((Callback)new PropertyValueFactory(this.gsddVoucherId.getId()));
        this.gsddBrId.setCellValueFactory((Callback)new PropertyValueFactory(this.gsddBrId.getId()));
        this.gsddSaleDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gsddSaleDate.getId()));
        this.gsddEmpGroup.setCellValueFactory((Callback)new PropertyValueFactory(this.gsddEmpGroup.getId()));
        this.gsddEmp.setCellValueFactory((Callback)new PropertyValueFactory(this.gsddEmp.getId()));
        this.gsddRmbAmt.setCellValueFactory((Callback)new PropertyValueFactory(this.gsddRmbAmt.getId()));
    }

    private List<GsmchStatus> getAllStatus() {
        ArrayList<GsmchStatus> list = new ArrayList<GsmchStatus>();
        list.add(new GsmchStatus("1", "\u5df2\u5ba1\u6838"));
        list.add(new GsmchStatus("0", "\u672a\u5ba1\u6838"));
        return list;
    }

    private List<Integer> getSelectIndex() {
        ArrayList<Integer> ids = new ArrayList<Integer>();
        if (!CollectionUtils.isEmpty(this.cashPaymentList)) {
            for (CashPaymentOutData i : this.cashPaymentList) {
                if (!i.getCheckBox().isSelected().booleanValue()) continue;
                ids.add(i.getIndex());
            }
        }
        return ids;
    }

    @FXML
    private void reset() {
        this.voucherId.clear();
        this.depositAmt.clear();
        this.bankId.setValue(null);
        this.depositDate.setValue(null);
        this.empGroup.setValue(null);
        this.emp.setValue(null);
        this.status.setValue(null);
        this.checkDate.setValue(null);
    }

    public Button getQueryBtn() {
        return this.queryBtn;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public TableColumn<CashPaymentDetailOutData, String> getGsddRmbAmt() {
        return this.gsddRmbAmt;
    }

    public ChoiceBox<GetEmpOutData> getEmp() {
        return this.emp;
    }

    public TextField getDepositAmt() {
        return this.depositAmt;
    }

    public ChoiceBox<GetSaleScheduleOutData> getEmpGroup() {
        return this.empGroup;
    }

    public Button getAddBtn() {
        return this.addBtn;
    }

    public DatePicker getDepositDate() {
        return this.depositDate;
    }

    public TextField getVoucherId() {
        return this.voucherId;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhDepositId() {
        return this.gsdhDepositId;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhBrId() {
        return this.gsdhBrId;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhCheckDate() {
        return this.gsdhCheckDate;
    }

    public TableColumn<CashPaymentDetailOutData, String> getGsddBrId() {
        return this.gsddBrId;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhBankAccount() {
        return this.gsdhBankAccount;
    }

    public TableColumn<CashPaymentDetailOutData, String> getGsddVoucherId() {
        return this.gsddVoucherId;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhDepositAmt() {
        return this.gsdhDepositAmt;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public TableView<CashPaymentOutData> getSortInfo() {
        return this.sortInfo;
    }

    public TableColumn<CashPaymentOutData, String> getIndex() {
        return this.index;
    }

    public TableView<CashPaymentDetailOutData> getDetailInfo() {
        return this.detailInfo;
    }

    public TableColumn<CashPaymentDetailOutData, String> getIndexDetail() {
        return this.indexDetail;
    }

    public DatePicker getCheckDate() {
        return this.checkDate;
    }

    public ChoiceBox<String> getBankId() {
        return this.bankId;
    }

    public TableColumn<CashPaymentDetailOutData, String> getGsddEmp() {
        return this.gsddEmp;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhBankId() {
        return this.gsdhBankId;
    }

    public TableColumn<CashPaymentDetailOutData, String> getGsddEmpGroup() {
        return this.gsddEmpGroup;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhDepositDate() {
        return this.gsdhDepositDate;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhStatus() {
        return this.gsdhStatus;
    }

    public TableColumn<CashPaymentOutData, CheckBox> getCheckBox() {
        return this.checkBox;
    }

    public TableColumn<CashPaymentOutData, String> getGsdhVoucherId() {
        return this.gsdhVoucherId;
    }

    public TableColumn<CashPaymentDetailOutData, String> getGsddSaleDate() {
        return this.gsddSaleDate;
    }

    public ChoiceBox<GsmchStatus> getStatus() {
        return this.status;
    }

    public AddCashPaymentController getAddCashPaymentController() {
        return this.addCashPaymentController;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public List<GetSaleScheduleOutData> getEmpGroupList() {
        return this.empGroupList;
    }

    public List<GetEmpOutData> getEmpList() {
        return this.empList;
    }

    public ObservableList<CashPaymentOutData> getCashPaymentList() {
        return this.cashPaymentList;
    }

    public ObservableList<CashPaymentDetailOutData> getCashPaymentDetailList() {
        return this.cashPaymentDetailList;
    }

    public void setQueryBtn(Button queryBtn) {
        this.queryBtn = queryBtn;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setGsddRmbAmt(TableColumn<CashPaymentDetailOutData, String> gsddRmbAmt) {
        this.gsddRmbAmt = gsddRmbAmt;
    }

    public void setEmp(ChoiceBox<GetEmpOutData> emp) {
        this.emp = emp;
    }

    public void setDepositAmt(TextField depositAmt) {
        this.depositAmt = depositAmt;
    }

    public void setEmpGroup(ChoiceBox<GetSaleScheduleOutData> empGroup) {
        this.empGroup = empGroup;
    }

    public void setAddBtn(Button addBtn) {
        this.addBtn = addBtn;
    }

    public void setDepositDate(DatePicker depositDate) {
        this.depositDate = depositDate;
    }

    public void setVoucherId(TextField voucherId) {
        this.voucherId = voucherId;
    }

    public void setGsdhDepositId(TableColumn<CashPaymentOutData, String> gsdhDepositId) {
        this.gsdhDepositId = gsdhDepositId;
    }

    public void setGsdhBrId(TableColumn<CashPaymentOutData, String> gsdhBrId) {
        this.gsdhBrId = gsdhBrId;
    }

    public void setGsdhCheckDate(TableColumn<CashPaymentOutData, String> gsdhCheckDate) {
        this.gsdhCheckDate = gsdhCheckDate;
    }

    public void setGsddBrId(TableColumn<CashPaymentDetailOutData, String> gsddBrId) {
        this.gsddBrId = gsddBrId;
    }

    public void setGsdhBankAccount(TableColumn<CashPaymentOutData, String> gsdhBankAccount) {
        this.gsdhBankAccount = gsdhBankAccount;
    }

    public void setGsddVoucherId(TableColumn<CashPaymentDetailOutData, String> gsddVoucherId) {
        this.gsddVoucherId = gsddVoucherId;
    }

    public void setGsdhDepositAmt(TableColumn<CashPaymentOutData, String> gsdhDepositAmt) {
        this.gsdhDepositAmt = gsdhDepositAmt;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setSortInfo(TableView<CashPaymentOutData> sortInfo) {
        this.sortInfo = sortInfo;
    }

    public void setIndex(TableColumn<CashPaymentOutData, String> index) {
        this.index = index;
    }

    public void setDetailInfo(TableView<CashPaymentDetailOutData> detailInfo) {
        this.detailInfo = detailInfo;
    }

    public void setIndexDetail(TableColumn<CashPaymentDetailOutData, String> indexDetail) {
        this.indexDetail = indexDetail;
    }

    public void setCheckDate(DatePicker checkDate) {
        this.checkDate = checkDate;
    }

    public void setBankId(ChoiceBox<String> bankId) {
        this.bankId = bankId;
    }

    public void setGsddEmp(TableColumn<CashPaymentDetailOutData, String> gsddEmp) {
        this.gsddEmp = gsddEmp;
    }

    public void setGsdhBankId(TableColumn<CashPaymentOutData, String> gsdhBankId) {
        this.gsdhBankId = gsdhBankId;
    }

    public void setGsddEmpGroup(TableColumn<CashPaymentDetailOutData, String> gsddEmpGroup) {
        this.gsddEmpGroup = gsddEmpGroup;
    }

    public void setGsdhDepositDate(TableColumn<CashPaymentOutData, String> gsdhDepositDate) {
        this.gsdhDepositDate = gsdhDepositDate;
    }

    public void setGsdhStatus(TableColumn<CashPaymentOutData, String> gsdhStatus) {
        this.gsdhStatus = gsdhStatus;
    }

    public void setCheckBox(TableColumn<CashPaymentOutData, CheckBox> checkBox) {
        this.checkBox = checkBox;
    }

    public void setGsdhVoucherId(TableColumn<CashPaymentOutData, String> gsdhVoucherId) {
        this.gsdhVoucherId = gsdhVoucherId;
    }

    public void setGsddSaleDate(TableColumn<CashPaymentDetailOutData, String> gsddSaleDate) {
        this.gsddSaleDate = gsddSaleDate;
    }

    public void setStatus(ChoiceBox<GsmchStatus> status) {
        this.status = status;
    }

    public void setAddCashPaymentController(AddCashPaymentController addCashPaymentController) {
        this.addCashPaymentController = addCashPaymentController;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setEmpGroupList(List<GetSaleScheduleOutData> empGroupList) {
        this.empGroupList = empGroupList;
    }

    public void setEmpList(List<GetEmpOutData> empList) {
        this.empList = empList;
    }

    public void setCashPaymentList(ObservableList<CashPaymentOutData> cashPaymentList) {
        this.cashPaymentList = cashPaymentList;
    }

    public void setCashPaymentDetailList(ObservableList<CashPaymentDetailOutData> cashPaymentDetailList) {
        this.cashPaymentDetailList = cashPaymentDetailList;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof CashPaymentController)) {
            return false;
        }
        CashPaymentController other = (CashPaymentController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        Button this$queryBtn = this.getQueryBtn();
        Button other$queryBtn = other.getQueryBtn();
        if (this$queryBtn == null ? other$queryBtn != null : !this$queryBtn.equals(other$queryBtn)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$gsddRmbAmt = this.getGsddRmbAmt();
        TableColumn<CashPaymentDetailOutData, String> other$gsddRmbAmt = other.getGsddRmbAmt();
        if (this$gsddRmbAmt == null ? other$gsddRmbAmt != null : !this$gsddRmbAmt.equals(other$gsddRmbAmt)) {
            return false;
        }
        ChoiceBox<GetEmpOutData> this$emp = this.getEmp();
        ChoiceBox<GetEmpOutData> other$emp = other.getEmp();
        if (this$emp == null ? other$emp != null : !this$emp.equals(other$emp)) {
            return false;
        }
        TextField this$depositAmt = this.getDepositAmt();
        TextField other$depositAmt = other.getDepositAmt();
        if (this$depositAmt == null ? other$depositAmt != null : !this$depositAmt.equals(other$depositAmt)) {
            return false;
        }
        ChoiceBox<GetSaleScheduleOutData> this$empGroup = this.getEmpGroup();
        ChoiceBox<GetSaleScheduleOutData> other$empGroup = other.getEmpGroup();
        if (this$empGroup == null ? other$empGroup != null : !this$empGroup.equals(other$empGroup)) {
            return false;
        }
        Button this$addBtn = this.getAddBtn();
        Button other$addBtn = other.getAddBtn();
        if (this$addBtn == null ? other$addBtn != null : !this$addBtn.equals(other$addBtn)) {
            return false;
        }
        DatePicker this$depositDate = this.getDepositDate();
        DatePicker other$depositDate = other.getDepositDate();
        if (this$depositDate == null ? other$depositDate != null : !this$depositDate.equals(other$depositDate)) {
            return false;
        }
        TextField this$voucherId = this.getVoucherId();
        TextField other$voucherId = other.getVoucherId();
        if (this$voucherId == null ? other$voucherId != null : !this$voucherId.equals(other$voucherId)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhDepositId = this.getGsdhDepositId();
        TableColumn<CashPaymentOutData, String> other$gsdhDepositId = other.getGsdhDepositId();
        if (this$gsdhDepositId == null ? other$gsdhDepositId != null : !this$gsdhDepositId.equals(other$gsdhDepositId)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhBrId = this.getGsdhBrId();
        TableColumn<CashPaymentOutData, String> other$gsdhBrId = other.getGsdhBrId();
        if (this$gsdhBrId == null ? other$gsdhBrId != null : !this$gsdhBrId.equals(other$gsdhBrId)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhCheckDate = this.getGsdhCheckDate();
        TableColumn<CashPaymentOutData, String> other$gsdhCheckDate = other.getGsdhCheckDate();
        if (this$gsdhCheckDate == null ? other$gsdhCheckDate != null : !this$gsdhCheckDate.equals(other$gsdhCheckDate)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$gsddBrId = this.getGsddBrId();
        TableColumn<CashPaymentDetailOutData, String> other$gsddBrId = other.getGsddBrId();
        if (this$gsddBrId == null ? other$gsddBrId != null : !this$gsddBrId.equals(other$gsddBrId)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhBankAccount = this.getGsdhBankAccount();
        TableColumn<CashPaymentOutData, String> other$gsdhBankAccount = other.getGsdhBankAccount();
        if (this$gsdhBankAccount == null ? other$gsdhBankAccount != null : !this$gsdhBankAccount.equals(other$gsdhBankAccount)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$gsddVoucherId = this.getGsddVoucherId();
        TableColumn<CashPaymentDetailOutData, String> other$gsddVoucherId = other.getGsddVoucherId();
        if (this$gsddVoucherId == null ? other$gsddVoucherId != null : !this$gsddVoucherId.equals(other$gsddVoucherId)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhDepositAmt = this.getGsdhDepositAmt();
        TableColumn<CashPaymentOutData, String> other$gsdhDepositAmt = other.getGsdhDepositAmt();
        if (this$gsdhDepositAmt == null ? other$gsdhDepositAmt != null : !this$gsdhDepositAmt.equals(other$gsdhDepositAmt)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        TableView<CashPaymentOutData> this$sortInfo = this.getSortInfo();
        TableView<CashPaymentOutData> other$sortInfo = other.getSortInfo();
        if (this$sortInfo == null ? other$sortInfo != null : !this$sortInfo.equals(other$sortInfo)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$index = this.getIndex();
        TableColumn<CashPaymentOutData, String> other$index = other.getIndex();
        if (this$index == null ? other$index != null : !this$index.equals(other$index)) {
            return false;
        }
        TableView<CashPaymentDetailOutData> this$detailInfo = this.getDetailInfo();
        TableView<CashPaymentDetailOutData> other$detailInfo = other.getDetailInfo();
        if (this$detailInfo == null ? other$detailInfo != null : !this$detailInfo.equals(other$detailInfo)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$indexDetail = this.getIndexDetail();
        TableColumn<CashPaymentDetailOutData, String> other$indexDetail = other.getIndexDetail();
        if (this$indexDetail == null ? other$indexDetail != null : !this$indexDetail.equals(other$indexDetail)) {
            return false;
        }
        DatePicker this$checkDate = this.getCheckDate();
        DatePicker other$checkDate = other.getCheckDate();
        if (this$checkDate == null ? other$checkDate != null : !this$checkDate.equals(other$checkDate)) {
            return false;
        }
        ChoiceBox<String> this$bankId = this.getBankId();
        ChoiceBox<String> other$bankId = other.getBankId();
        if (this$bankId == null ? other$bankId != null : !this$bankId.equals(other$bankId)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$gsddEmp = this.getGsddEmp();
        TableColumn<CashPaymentDetailOutData, String> other$gsddEmp = other.getGsddEmp();
        if (this$gsddEmp == null ? other$gsddEmp != null : !this$gsddEmp.equals(other$gsddEmp)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhBankId = this.getGsdhBankId();
        TableColumn<CashPaymentOutData, String> other$gsdhBankId = other.getGsdhBankId();
        if (this$gsdhBankId == null ? other$gsdhBankId != null : !this$gsdhBankId.equals(other$gsdhBankId)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$gsddEmpGroup = this.getGsddEmpGroup();
        TableColumn<CashPaymentDetailOutData, String> other$gsddEmpGroup = other.getGsddEmpGroup();
        if (this$gsddEmpGroup == null ? other$gsddEmpGroup != null : !this$gsddEmpGroup.equals(other$gsddEmpGroup)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhDepositDate = this.getGsdhDepositDate();
        TableColumn<CashPaymentOutData, String> other$gsdhDepositDate = other.getGsdhDepositDate();
        if (this$gsdhDepositDate == null ? other$gsdhDepositDate != null : !this$gsdhDepositDate.equals(other$gsdhDepositDate)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhStatus = this.getGsdhStatus();
        TableColumn<CashPaymentOutData, String> other$gsdhStatus = other.getGsdhStatus();
        if (this$gsdhStatus == null ? other$gsdhStatus != null : !this$gsdhStatus.equals(other$gsdhStatus)) {
            return false;
        }
        TableColumn<CashPaymentOutData, CheckBox> this$checkBox = this.getCheckBox();
        TableColumn<CashPaymentOutData, CheckBox> other$checkBox = other.getCheckBox();
        if (this$checkBox == null ? other$checkBox != null : !this$checkBox.equals(other$checkBox)) {
            return false;
        }
        TableColumn<CashPaymentOutData, String> this$gsdhVoucherId = this.getGsdhVoucherId();
        TableColumn<CashPaymentOutData, String> other$gsdhVoucherId = other.getGsdhVoucherId();
        if (this$gsdhVoucherId == null ? other$gsdhVoucherId != null : !this$gsdhVoucherId.equals(other$gsdhVoucherId)) {
            return false;
        }
        TableColumn<CashPaymentDetailOutData, String> this$gsddSaleDate = this.getGsddSaleDate();
        TableColumn<CashPaymentDetailOutData, String> other$gsddSaleDate = other.getGsddSaleDate();
        if (this$gsddSaleDate == null ? other$gsddSaleDate != null : !this$gsddSaleDate.equals(other$gsddSaleDate)) {
            return false;
        }
        ChoiceBox<GsmchStatus> this$status = this.getStatus();
        ChoiceBox<GsmchStatus> other$status = other.getStatus();
        if (this$status == null ? other$status != null : !this$status.equals(other$status)) {
            return false;
        }
        AddCashPaymentController this$addCashPaymentController = this.getAddCashPaymentController();
        AddCashPaymentController other$addCashPaymentController = other.getAddCashPaymentController();
        if (this$addCashPaymentController == null ? other$addCashPaymentController != null : !(this$addCashPaymentController).equals(other$addCashPaymentController)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        List<GetSaleScheduleOutData> this$empGroupList = this.getEmpGroupList();
        List<GetSaleScheduleOutData> other$empGroupList = other.getEmpGroupList();
        if (this$empGroupList == null ? other$empGroupList != null : !(this$empGroupList).equals(other$empGroupList)) {
            return false;
        }
        List<GetEmpOutData> this$empList = this.getEmpList();
        List<GetEmpOutData> other$empList = other.getEmpList();
        if (this$empList == null ? other$empList != null : !(this$empList).equals(other$empList)) {
            return false;
        }
        ObservableList<CashPaymentOutData> this$cashPaymentList = this.getCashPaymentList();
        ObservableList<CashPaymentOutData> other$cashPaymentList = other.getCashPaymentList();
        if (this$cashPaymentList == null ? other$cashPaymentList != null : !this$cashPaymentList.equals(other$cashPaymentList)) {
            return false;
        }
        ObservableList<CashPaymentDetailOutData> this$cashPaymentDetailList = this.getCashPaymentDetailList();
        ObservableList<CashPaymentDetailOutData> other$cashPaymentDetailList = other.getCashPaymentDetailList();
        return !(this$cashPaymentDetailList == null ? other$cashPaymentDetailList != null : !this$cashPaymentDetailList.equals(other$cashPaymentDetailList));
    }

    protected boolean canEqual(Object other) {
        return other instanceof CashPaymentController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        Button $queryBtn = this.getQueryBtn();
        result = result * 59 + ($queryBtn == null ? 43 : $queryBtn.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $gsddRmbAmt = this.getGsddRmbAmt();
        result = result * 59 + ($gsddRmbAmt == null ? 43 : $gsddRmbAmt.hashCode());
        ChoiceBox<GetEmpOutData> $emp = this.getEmp();
        result = result * 59 + ($emp == null ? 43 : $emp.hashCode());
        TextField $depositAmt = this.getDepositAmt();
        result = result * 59 + ($depositAmt == null ? 43 : $depositAmt.hashCode());
        ChoiceBox<GetSaleScheduleOutData> $empGroup = this.getEmpGroup();
        result = result * 59 + ($empGroup == null ? 43 : $empGroup.hashCode());
        Button $addBtn = this.getAddBtn();
        result = result * 59 + ($addBtn == null ? 43 : $addBtn.hashCode());
        DatePicker $depositDate = this.getDepositDate();
        result = result * 59 + ($depositDate == null ? 43 : $depositDate.hashCode());
        TextField $voucherId = this.getVoucherId();
        result = result * 59 + ($voucherId == null ? 43 : $voucherId.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhDepositId = this.getGsdhDepositId();
        result = result * 59 + ($gsdhDepositId == null ? 43 : $gsdhDepositId.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhBrId = this.getGsdhBrId();
        result = result * 59 + ($gsdhBrId == null ? 43 : $gsdhBrId.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhCheckDate = this.getGsdhCheckDate();
        result = result * 59 + ($gsdhCheckDate == null ? 43 : $gsdhCheckDate.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $gsddBrId = this.getGsddBrId();
        result = result * 59 + ($gsddBrId == null ? 43 : $gsddBrId.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhBankAccount = this.getGsdhBankAccount();
        result = result * 59 + ($gsdhBankAccount == null ? 43 : $gsdhBankAccount.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $gsddVoucherId = this.getGsddVoucherId();
        result = result * 59 + ($gsddVoucherId == null ? 43 : $gsddVoucherId.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhDepositAmt = this.getGsdhDepositAmt();
        result = result * 59 + ($gsdhDepositAmt == null ? 43 : $gsdhDepositAmt.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        TableView<CashPaymentOutData> $sortInfo = this.getSortInfo();
        result = result * 59 + ($sortInfo == null ? 43 : $sortInfo.hashCode());
        TableColumn<CashPaymentOutData, String> $index = this.getIndex();
        result = result * 59 + ($index == null ? 43 : $index.hashCode());
        TableView<CashPaymentDetailOutData> $detailInfo = this.getDetailInfo();
        result = result * 59 + ($detailInfo == null ? 43 : $detailInfo.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $indexDetail = this.getIndexDetail();
        result = result * 59 + ($indexDetail == null ? 43 : $indexDetail.hashCode());
        DatePicker $checkDate = this.getCheckDate();
        result = result * 59 + ($checkDate == null ? 43 : $checkDate.hashCode());
        ChoiceBox<String> $bankId = this.getBankId();
        result = result * 59 + ($bankId == null ? 43 : $bankId.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $gsddEmp = this.getGsddEmp();
        result = result * 59 + ($gsddEmp == null ? 43 : $gsddEmp.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhBankId = this.getGsdhBankId();
        result = result * 59 + ($gsdhBankId == null ? 43 : $gsdhBankId.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $gsddEmpGroup = this.getGsddEmpGroup();
        result = result * 59 + ($gsddEmpGroup == null ? 43 : $gsddEmpGroup.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhDepositDate = this.getGsdhDepositDate();
        result = result * 59 + ($gsdhDepositDate == null ? 43 : $gsdhDepositDate.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhStatus = this.getGsdhStatus();
        result = result * 59 + ($gsdhStatus == null ? 43 : $gsdhStatus.hashCode());
        TableColumn<CashPaymentOutData, CheckBox> $checkBox = this.getCheckBox();
        result = result * 59 + ($checkBox == null ? 43 : $checkBox.hashCode());
        TableColumn<CashPaymentOutData, String> $gsdhVoucherId = this.getGsdhVoucherId();
        result = result * 59 + ($gsdhVoucherId == null ? 43 : $gsdhVoucherId.hashCode());
        TableColumn<CashPaymentDetailOutData, String> $gsddSaleDate = this.getGsddSaleDate();
        result = result * 59 + ($gsddSaleDate == null ? 43 : $gsddSaleDate.hashCode());
        ChoiceBox<GsmchStatus> $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        AddCashPaymentController $addCashPaymentController = this.getAddCashPaymentController();
        result = result * 59 + ($addCashPaymentController == null ? 43 : ($addCashPaymentController).hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        List<GetSaleScheduleOutData> $empGroupList = this.getEmpGroupList();
        result = result * 59 + ($empGroupList == null ? 43 : ($empGroupList).hashCode());
        List<GetEmpOutData> $empList = this.getEmpList();
        result = result * 59 + ($empList == null ? 43 : ($empList).hashCode());
        ObservableList<CashPaymentOutData> $cashPaymentList = this.getCashPaymentList();
        result = result * 59 + ($cashPaymentList == null ? 43 : $cashPaymentList.hashCode());
        ObservableList<CashPaymentDetailOutData> $cashPaymentDetailList = this.getCashPaymentDetailList();
        result = result * 59 + ($cashPaymentDetailList == null ? 43 : $cashPaymentDetailList.hashCode());
        return result;
    }

    public String toString() {
        return "CashPaymentController(queryBtn=" + this.getQueryBtn() + ", vBox=" + this.getVBox() + ", gsddRmbAmt=" + this.getGsddRmbAmt() + ", emp=" + this.getEmp() + ", depositAmt=" + this.getDepositAmt() + ", empGroup=" + this.getEmpGroup() + ", addBtn=" + this.getAddBtn() + ", depositDate=" + this.getDepositDate() + ", voucherId=" + this.getVoucherId() + ", gsdhDepositId=" + this.getGsdhDepositId() + ", gsdhBrId=" + this.getGsdhBrId() + ", gsdhCheckDate=" + this.getGsdhCheckDate() + ", gsddBrId=" + this.getGsddBrId() + ", gsdhBankAccount=" + this.getGsdhBankAccount() + ", gsddVoucherId=" + this.getGsddVoucherId() + ", gsdhDepositAmt=" + this.getGsdhDepositAmt() + ", scrollPane=" + this.getScrollPane() + ", sortInfo=" + this.getSortInfo() + ", index=" + this.getIndex() + ", detailInfo=" + this.getDetailInfo() + ", indexDetail=" + this.getIndexDetail() + ", checkDate=" + this.getCheckDate() + ", bankId=" + this.getBankId() + ", gsddEmp=" + this.getGsddEmp() + ", gsdhBankId=" + this.getGsdhBankId() + ", gsddEmpGroup=" + this.getGsddEmpGroup() + ", gsdhDepositDate=" + this.getGsdhDepositDate() + ", gsdhStatus=" + this.getGsdhStatus() + ", checkBox=" + this.getCheckBox() + ", gsdhVoucherId=" + this.getGsdhVoucherId() + ", gsddSaleDate=" + this.getGsddSaleDate() + ", status=" + this.getStatus() + ", addCashPaymentController=" + this.getAddCashPaymentController() + ", indexController=" + this.getIndexController() + ", empGroupList=" + this.getEmpGroupList() + ", empList=" + this.getEmpList() + ", cashPaymentList=" + this.getCashPaymentList() + ", cashPaymentDetailList=" + this.getCashPaymentDetailList() + ")";
    }
}

